/**
 * 泛型：就是把类型看成函数一样，可以传递参数，类型是动态的
 * 泛型类型：泛型接口、泛型函数、泛型类
 * 作用：
    * 可以起到约束作用，也叫泛型约束
    * 可以在保证类型安全的前提下，给别名、接口、函数等添加类型参数，从而实现复用
 */

// 泛型接口
interface A<T> {
    id: number
    name: string
    height: T
}

let user1: A<number> = {
    id: 1,
    name: '张三',
    height: 180
}

let user2: A<string> = {
    id: 2,
    name: '李四',
    height: '180cm'
}

// 在接口名后面添加 <类型变量> ，那么这个接口就变成了泛型接口，接口中所有的成员都可以使用该类型变量

export default {}